-
-
Notifications
You must be signed in to change notification settings - Fork 33k
gh-133171: Re-enable JUMP_BACKWARD to free-threading build #137800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@savannahostrowski @diegorusso @Fidget-Spinner @brandtbucher To the JIT team — I’m not sure who’s currently working on this, but it might be a good starting point to add JIT support. My next goal will be to make the tier-two instructions thread-safe. |
I think we should start by running the tests in CI for JIT+FT current build and see what passes/fails before doing this |
We disabled FT + JIT build from #133179 do you think that we have to listing the current status? |
This makes sense but actually the default build's JIT can't even run with the optimizer turned off! There's some segfaults when we turn off the optimizer lol. |
How can I trigger this? |
Run the test suite with |
Just for the record at default build:
|
This comment has been minimized.
This comment has been minimized.
Ah never mind, it need to be transformed tier 2 code first. |
d855944
to
d470ce9
Compare
@Fidget-Spinner @brandtbucher I noticed that JIT x FT still doesn’t build even with the entire optimizer path disabled, so fix it temporarily. I’ve added a direct fallback to Tier 1; it’s slow, but fine for now. Let’s re-enable _PyOptimizer_Optimize step by step. To do that, we also need to re-enable CI (just for build testing) |
cc @savannahostrowski Once this PR is merged, others can start collaborating on the full FT x JIT work separately. |
static inline int | ||
PyStackRef_RefcountOnObject(_PyStackRef ref) | ||
{ | ||
return (ref.bits & Py_TAG_REFCNT) == 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this implementation is fine, but I'm not 100% sure
If there are no major objections to this PR, I am going to merge this PR (maybe next week) |
} | ||
|
||
static inline int | ||
PyStackRef_RefcountOnObject(_PyStackRef ref) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just personal interest, correct me if I'm wrong.
It seems we don;t call this function yet right? Is this prepared for a future hook?
This function seems be trigger at
- PyStackRef_XCLOSE
- PyStackRef_CLOSE_SPECIALIZED
- PyStackRef_CLOSE
- PyStackRef_DUP
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems we don;t call this function yet right? Is this prepared for a future hook?
Yeah correct, but we can't build if this function is not added. That's all at this moment.
Uh oh!
There was an error while loading. Please reload this page.